package rmi;

import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;

/**
 * @author Xewee.Zhiwei.Wang
 * @version 2011-10-11 上午09:23:17
 */
public class RemoteServer {
	/**
	 * @author Xewee.Zhiwei.Wang
	 * @version 2011-10-11 上午09:23:17
	 * @param args
	 * @throws RemoteException
	 * @throws AlreadyBoundException
	 * @throws MalformedURLException
	 */
	public static void main(String[] args) throws RemoteException,
			MalformedURLException, AlreadyBoundException {
		/**
		 * 创建一个远程对象
		 */
		ArithmeticRemoteInterface remoteInterface = new ArithmeticRemoteImpl();
		/**
		 * 本地主机上的远程对象注册表Registry的实例，并指定端口为8888，（Java默认端口是1099）
		 * 必不可缺的一步，缺少注册表创建，则无法绑定对象到远程注册表上
		 */
		LocateRegistry.createRegistry(8888);
		/**
		 * 把远程对象注册到RMI注册服务器上，并命名为Arithmetic
		 */
		Naming.bind("rmi://localhost:8888/Arithmetic", remoteInterface);
		System.out.println("远程helloWorld对象绑定成功！");
	}
}
